#-*- codeing = utf-8 -*-
#@Time : 2020/9/10 20:19
#@Author : 阳某
#@File : test3.py
#@Software : PyCharm
import threading
import time
def run(n):
    print("task ",n)
    time.sleep(2)
    print('task done',n)
start_time = time.time()
listt = []      #存放线程
for i in range(50):
    t = threading.Thread(target=run,args=("t- %s"%i,))
    t.start()
# print('-----all threads finished----')      #主线程没有等子线程执行完就执行下去了
# print("cost",time.time()-start_time)    #主线程和子线程并行（没关系）

    # t.join()#放在这里变串行，test3.py第一个线程t没有结束的话，不会往后执行
    listt.append(t) #为了不阻塞后面线程的启动，不在这里join，先放到一个列表里
for t in listt:     #循环线程实例，等待所有线程执行完毕
    t.join()

print('-----all threads finished----')      #主线程没有等子线程执行完就执行下去了
print("cost",time.time()-start_time)    #主线程和子线程并行（没关系）
